The use of mobile computing device applications in the retail store environment has brought a new level of convenience to both shoppers and retailers. Retailers may design customized applications, or “apps,” that are downloaded to a mobile computing device and used to improve the customer's shopping experience. For example, a customer may use a retailer's application to collect and display coupons that may be scanned at a point of sale (POS) instead of presenting paper coupons.
However, present retailer applications are limited with regards to detecting feedback other than customer interactions. Present retailer applications do not rely on which application features are being used by a customer at a given time or otherwise consider the state of the mobile computing device as the customer navigates through various application features. Conventional applications, as a result, perform predetermined actions as selected by the customer, and do not typically modify a customer's navigation through the application based on any additional feedback. As a result, traditional applications are executed in a linear sense, whereby a customer selects an action manually and the application performs a function related to the customer's selected action. If the customer wants to use more than one type of application feature, then the customer needs to select each action individually and wait until the application has completed each one. In other words, traditional applications lack a means to intelligently and automatically navigate the customer through various functions of the application.
Furthermore, when scanning coupons or other barcode presented at a POS, many laser scanner systems have difficulty scanning barcodes displayed on mobile computing device screens. Conventional applications do not change their display state upon being scanned in such a manner, which may lead to added frustration as the employee repeatedly attempts to scan the same barcode image. Additionally, because the barcodes may be difficult to scan, store employees are more likely to take the customer's phone to attempt to scan the displayed barcode themselves, which may increase the risk that a mobile phone may be dropped or otherwise damaged by the store employee, causing the store to be liable for repair or replacement of the damaged phone.
Therefore, implementing applications that trigger state-based changes of the mobile computing device are useful but present several challenges.